﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CapaDatos;
using Entidades;
using CapaDatos.Adapters;

namespace CapaLogica
{
   public class TurnoLogica
    {

        public void Agregar(Turno entidad)
        {

            new TurnoAdapter().Agregar(entidad);

        }

        public void Modificar(Turno entidad)
        {

            new TurnoAdapter().Modificar(entidad);

        }

        public List<ViewEntity> ObtenerCiclosLectivosAñoActual()
        {
            return new TurnoAdapter().ObtenerCiclosLectivosAñoActual();
        }

        public List<ViewEntity> ObtenerTurnosAñoActual()
        {
            return new TurnoAdapter().ObtenerTurnosAñoActual();
        }

        public List<ViewEntity> ObtenerCiclosLectivos()
        {
            IEnumerable<CicloLectivo> lista = new CicloLectivoAdapter().ObtenerCiclosLectivos();

            List<ViewEntity> listaFinal = new List<ViewEntity>();


            foreach (var a in lista)
            {
                listaFinal.Add(new ViewEntity(a.IdCicloLectivo, a.NombreCicloLectivo));

            }
           return listaFinal = listaFinal.OrderBy(v => v.Descripcion).ToList();

        }

        public List<ViewEntity> ObtenerTurnosPorAño(int año)
        {

            return new TurnoAdapter().ObtenerTurnosPorAño(año);
        }

        public List<ViewEntity> ObtenerTurnosAEditarPorAño(int año)
        {

            return new TurnoAdapter("Edicion").ObtenerTurnosPorAño(año);
        }

        public Turno ObtenerEntidad(Guid idTurno)
        {
            return new TurnoAdapter().ObtenerEntidad(idTurno);

        }

        public List<Turno> ObtenerEntidadesPorAño(int año)
        {
            return new TurnoAdapter().ObtenerEntidadesPorAño(año);

        }

        public bool ExistenTurnosAñoSeleccionado(int año)
        {
            return new TurnoAdapter().ExistenTurnosAñoSeleccionado(año);

        }

        public Turno ObtenerEntidadParaEditar(Guid idTurno)
        {
            return new TurnoAdapter("Edicion").ObtenerEntidad(idTurno);

        }

        public bool TieneInscriptos(Guid idTurno)
        {
            return new TurnoAdapter().TieneInscriptos(idTurno);

        }

        public bool ExisteNombreSala(Turno turno)
        {
            return new TurnoAdapter().ExisteNombreSala(turno);

        }

        public bool ExisteNombreTurno(Turno turno)
        {
            return new TurnoAdapter().ExisteNombreTurno(turno);

        }

       
    }
}
